Given a data matrix X of size n by p, clustering assigns the observations (rows of X) to clusters, or groups based on some or all of the data variables (columns of X). Clustering is a cornerstone of business intelligence, with wide-ranging applications such as market segmentation and fraud detection. Machine learning is a branch of artificial intelligence that is concerned with building systems that require minimal human intervention in order to learn from data.